Printing method having auto retreat function of print data and medium for storing program for executing the printing method

ABSTRACT

An object of the invention is to provide a printing method whereby a function for retreating print data in the case where the print data cannot be printed is provided, and the printing of other print data is preferentially performed or a printing is enabled to be executed when an apparatus enters a printable status of the print data, thereby improving a print working efficiency. To accomplish this object, there is provided a printing method of using a host which can set an auto retreat of print data and a print output apparatus which is connected so that it can bidirectionally communicate with the host and is equipped with a memory device which can perform a retreat processing of the data in response to a request from the host, wherein the host sends the print data to the print output apparatus, the print output apparatus receives the print data sent from the host and checks whether the data can be normally printed or not on the basis of print attributes of the received print data and a status of the print output apparatus, when it is decided that the data can be normally printed, the printing is executed, and when it is decided that the data cannot be normally printed, the print data is retreated to the memory device in accordance with the setting of the auto retreat, thereby enabling the printing of other print data to be executed.

This application is a division of application Ser. No. 09/579,503, filedMay 30, 2000 now U.S. Pat. No. 6,879,972.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a printing method having an auto retreatfunction of print data and a medium for storing a program for executingthe printing method.

2. Related Background Art

Hitherto, in an information processing system, a mechanism in which whenexpendable supplies such as papers or the like are absent and an erroroccurs during the execution of print data, a processing is suspendedwhile processing information including the print data is held and whenthe expendable supplies are supplemented, the processing can be soonresumed has been provided, thereby improving a working efficiency of theuser.

For example, it is assumed that papers of the A4 size and A3 size havebeen set in a printer and print data in which the B5 size was designatedas a paper size has been sent from a host (host computer). The printerreceives the print data and, at a point when it is detected that the B5size whose papers are not set has been designated, the printer enters anerror status. According to the conventional technique, the printer doesnot enter a status where the print data is abandoned and new print datacan be processed but suspends the processing while a processing statusso far is held and at a point when it is recognized that the expendablesupplies have been supplemented, the printer resumes the processing. Theuser, therefore, can immediately obtain an output by setting papers intothe printer. That is, after an error was recognized, the user does notneed to perform work for sending the print data again from the host andcan efficiently take a proper countermeasure against the error due tothe absence of the expendable supplies.

According to the conventional technique, however, since the whole printprocessing is suspended at a point when the error occurs, not only theprocessing of the print data in which the error occurred but also theprocessing of the print data which is waiting to subsequently print issuspended. There is, consequently, a drawback of deterioration in printworking efficiency of the other user.

For example, it is assumed that papers of the A4 size and A3 size havebeen set in a printer in FIG. 5. Print data A in which the B5 size wasdesignated as a paper size is sent from a host A in FIG. 5 and,thereafter, print data B in which the A4 size was designated as a papersize is sent from a host B. In this case, according to the conventionaltechnique, the printer receives the print data A and at a point when itis detected that the B5 size whose papers are not set was designated,the printer enters the error status and suspends the processing. Theprocessing of the print data B is also suspended at a point when theprint data B has been sent to the printer. That is, in spite of the factthat the print data B can be printed without causing an error becausethe A4 size whose papers have been set in the printer is designated, theprint data B is influenced by the print data A which was precedinglyprocessed, so that the processing is suspended.

If the user of the host A or the printer administrator rapidly takes acountermeasure (the papers are supplemented, the print data iscancelled, or the like) against the print data A at this time point,after the processing of the print data A, the user of the host B canobtain an output of the print data B. However, if a timing for takingthe countermeasure is delayed as in the case where the user of the hostA is not aware of the occurrence of the error, the case where the papersof the B5 size cannot be soon supplemented, or the like, the workingefficiency of the user of the host B remarkably deteriorates.

It is assumed that there is a situation where the printer in FIG. 5 isconnected to the network and many users frequently use the printer. Inthis case, the output of a large amount of print data (many users) hasto be waited upon occurrence of the error and a range where the workingefficiency deteriorates is widened.

SUMMARY OF THE INVENTION

The invention is made in consideration of the above circumstances.

That is, it is an object of the invention to provide a printing methodwhereby by providing a function for retreating print data in the casewhere the print data cannot be printed, a printing of other print datais preferentially performed or when an apparatus enters a status wherethe print data can be printed, the printing is enabled to be executed,thereby improving a printing working efficiency.

To accomplish the above object, according to a preferred aspect of theinvention, there is provided a printing method of using a host which canset an auto retreat of print data and a print output apparatus which isconnected so that it can bidirectionally communicate with the host andis equipped with a memory device which can perform a retreat processingof the data in response to a request from the host, wherein the hostsends the print data to the print output apparatus, the print outputapparatus receives the print data sent from the host and discriminateswhether the data can be normally printed or not on the basis of printattributes of the received print data and a status of the print outputapparatus, when it is determined that the data can be normally printed,the printing is executed, and when it is determined that the data cannotbe normally printed, the print data is retreated to the memory device inaccordance with the setting of the auto retreat, thereby enabling theprinting of other print data to be executed.

Another object of the invention is to provide a medium for recordingmodules for executing the above printing method.

The invention has the medium for recording modules by the above printingmethod.

The above and other objects and features of the present invention willbecome apparent from the following detailed description and the appendedclaims with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram showing a construction of an informationprocessing system to which a print method of an embodiment of theinvention is applied;

FIG. 2 is a diagram showing a state where modules are supplied to a hostfrom a medium on which the modules in the embodiment of the inventionhave been recorded;

FIG. 3 is a diagram showing a memory map in the case where the modulesin the embodiment of the invention operate;

FIG. 4 is a constructional diagram of the medium on which the modules inthe embodiment of the invention have been recorded;

FIG. 5 is a conceptual diagram for explaining the print method in theembodiment of the invention;

FIG. 6 is a conceptual diagram for explaining the print method in theembodiment of the invention;

FIG. 7 is a conceptual diagram for explaining the print method in theembodiment of the invention;

FIG. 8 is a conceptual diagram for explaining the print method in theembodiment of the invention;

FIG. 9 is a conceptual diagram for explaining the print method in theembodiment of the invention;

FIG. 10 is a conceptual diagram for explaining the print method in theembodiment of the invention;

FIGS. 11A, 11B, 11C, 11D, 11E and 11F are conceptual diagrams forexplaining the print method in the embodiment of the invention;

FIGS. 12A, 12B and 12C are conceptual diagrams for explaining the printmethod in the embodiment of the invention;

FIG. 13 is a conceptual diagram for explaining the print method in theembodiment of the invention;

FIG. 14 is a flowchart showing a flow of a control in the invention;

FIG. 15 is a flowchart showing a flow of the control in the invention;

FIG. 16 is a flowchart showing a flow of the control in the invention;

FIG. 17 is a flowchart showing a flow of the control in the invention;and

FIG. 18 is a flowchart showing a flow of the control in the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Embodiments of the invention will now be described with reference to thedrawings.

(Embodiment 1)

The following description will be made on the assumption that theprinter in FIG. 5 has a storage which can perform a retreat processingof print data in response to a request from a host (computer) as aprerequisite. A connecting style of the hosts and the printer is alsosimilarly applied to a style in which the hosts and the printers areconnected in a one-to-one connecting relational manner or a style inwhich the printer is connected to a print server as shown in FIG. 6. Forexample, it is assumed that only the papers of the A4 size and the A3size have been set in the printer in FIG. 5 and the printer is in astatus where there is no staple although the printer has a staplingfunction.

Modules which realize a main body of an apparatus have been installed ina disk 1033 in a storage 1030 of a host 10 in FIG. 1. It is assumed thatwhen the host 10 is activated, the modules which realize the inventionare read into an RAM 1031 in the storage 1030 in FIG. 1 and executed.The modules which execute the invention are program codes converted onthe basis of flowcharts shown in FIGS. 14 to 18.

The modules realizing the invention and the related data can be alsoloaded into the host 10 from a memory medium reader 1050 of the host 10and executed. It is assumed that the modules realizing the invention andthe related data have been recorded on a recording medium 20020 in FIG.2 and have a recording construction as shown in FIG. 4. In this case,the modules realizing the invention and the related data recorded on therecording medium 20020 can be loaded into the host 10 via a memorymedium reader 20010 in FIG. 2.

When the recording medium 20020 is set into the memory medium reader20010 of the host 10, the modules realizing the invention and therelated data are read out of the recording medium 20020 under thecontrol of the OS and a basic I/O program, is loaded into the RAM in thestorage 1030 of the host 10, and can be operated. FIG. 3 shows a memorymap in a state where the modules realizing the invention and the relateddata have been loaded into the RAM 1031 in the storage 1030 of the host10 and can be operated.

The modules realizing the invention and the related data recorded on therecording medium 20020 in FIG. 2 can be temporarily stored (installed)into the disk 1033 or the like in the storage 1030 of the host 10 andcan be loaded into the RAM 1031 in the storage 1030 of the host 10 fromthe disk 1033 or the like in the storage 1030 of the host 10 each timethe modules realizing the invention and the related data are madeoperative.

Although the host which sends the print data in which an error occursand the host which sends the print data in which no error occurs aredifferent in FIG. 5, the invention can be also applied to a case wherethey are the same host.

The description of the invention is further made on the assumption ofthe following points as a prerequisite.

That is, an auto retreat information table showing an error which canautomatically retreat as shown in FIG. 13 has been stored in a disk 2033in a storage 2030 of the printer in FIG. 1. The auto retreat informationtable can be stored on the disk 1033 in the storage 1030 of the host 10and can be downloaded into the printer when the host is activated.

The invention will now be described on the assumption of the abovepoints.

First, a flow of processing of the host A in FIG. 5 will be described.First, the user designates a printing method in the host A in FIG. 5 andallows a display of the host A to display a print dialog (FIG. 7) ofsoftware (printer driver or the like) for making print data. In theexample of FIG. 7, as attributes of the print data whose processing isstarted from now on, an all-page printing mode is designated by clickinga button 701 and the number of copies (namely, “1”) is designated byclicking a button 702. An auto retreat flag is “set” by clicking abutton 703. A paper size is set to “A4” by clicking a button 704. Astapling is set to “NO” by clicking a button 705. A single-sidedprinting or the like is set by clicking a button (double-sided) 706 to“NO”. The user selects a “print” button 707 in the print dialog, so thata controller 1010 of the host in FIG. 1 starts a print processing (step1401) shown in FIG. 14.

Reference numeral 708 denotes a “cancel” button of the printing. Asmentioned above, the user can set whether the auto retreat is permittedor not on a print job unit basis on the display of the host.

The controller 1010 receives a print request from application, formsprint data “TEST-1”, and temporarily stores it into the RAM 1031 in thestorage 1030 of the host (step 1402). In the embodiment, it is assumedthat the controller 1010 obtains the print data from the OS orapplication at this time point and temporarily stores it into the disk1033 in the storage 1030 of the host 10. The print data can besuccessively obtained from the OS or application at a necessary timepoint.

The controller 1010 subsequently sets the auto retreat flag to the printdata “TEST-1” stored in the RAM 1031 in the storage 1030 (step 1403).

The controller 1010 sends the print data “TEST-1” stored in the RAM 1031in the storage 1030 to the printer as shown in FIG. 5 (step 1404).Actually, the controller 1010 transfers the print data “TEST-1” to acontroller 2010 of the printer via a connector 1020 of the host 10 and aconnector 2020 of a printer 20 in FIG. 1. At this time point, the printdata “TEST-1” sent from the host A has been sent as shown in FIG. 9.

A flow of processing (refer to FIG. 15) in the printer in FIG. 5 willnow be described.

The controller 2010 of the printer discriminates whether the print datahas been received from the host or not (step 1501).

The controller 2010 of the printer subsequently determines that itreceived the print data from the host because the print data “TEST-1”has been received, and temporarily stores the print data “TEST-1” intoan RAM 2031 in the storage 2030 of the printer 20 (step 1502).

The controller 2010 of the printer subsequently inputs (updates)information (item of No. 1 in FIG. 11A) of the print data “TEST-1” intojob execution management tables (FIGS. 11A to 11F) which exist in theRAM 2031 in the storage 2030 of the printer and are used to manage theprint processing (step 1503).

A flow (refer to FIG. 14) of the subsequent processing in the host A inFIG. 5 will be described.

The controller 1010 discriminates whether any notice has been receivedfrom the printer or not (step 1405). Since no notice is received fromthe printer at this time point, the controller 1010 determines that nonotice is received.

The controller 1010 subsequently discriminates whether the processingfor the sent print data “TEST-1” has been completed or not (step 1407).Specifically speaking, control data to obtain the status of the printdata “TEST-1” sent from the controller 1010 is transferred to thecontroller 2010 of the printer via the connector 1020 of the host andthe connector 2020 of the printer in FIG. 1.

A flow (refer to FIG. 15) of processing of the printer in FIG. 5 willnow be described.

The controller 2010 of the printer discriminates whether an inquiry hasbeen received or not (step 1504). In this case, since the control datato obtain the status of the print data “TEST-1” has been received fromthe host A, the controller determines that the inquiry has beenreceived. The controller 2010 of the printer analyzes the receivedcontrol data and checks the control contents (step 1505). In theembodiment, since the control data is the control data to obtain thestatus of the sent print data “TEST-1”, the controller 2010 of theprinter analyzes the job execution management data stored in the RAM2031 in the storage 2030 of the printer as shown in FIGS. 11A to 11F. Asa result of the analysis, the controller 2010 of the printer recognizesthat the status of the relevant print data indicates that the data isbeing printed, and replies about the information to the controller 1010via the connector 2020 of the printer and the connector 1020 of the host(step 1506).

A flow (refer to FIG. 14) of processing of the host A in FIG. 5 will nowbe described.

On the basis of the information replied in step 1407, the controller1010 determines that the processing of the print data “TEST-1” is notcompleted. The processing routine is returned to step 1405.

A flow (refer to FIG. 15) of processing of the printer in FIG. 5 willnow be described.

The controller 2010 of the printer checks job retreat management tablesas shown in FIGS. 12A to 12C stored in the RAM 2031 in the storage 2030of the printer in order to discriminate the presence or absence of aretreated job (step 1507). Since no information exists in the jobretreat management tables at this time point, it is determined that theautomatically retreated job does not exist.

The controller 2010 of the printer subsequently checks the job executionmanagement tables as shown in FIGS. 11A to 11F stored in the RAM 2031 inthe storage 2030 of the printer in order to discriminate the presence orabsence of a print-waiting job (step 1508). Since the information of theprint data “TEST-1” has been inputted at this time point in step 1503,it is determined that the print-waiting job exists.

It is assumed that the processing in steps 1401 to 1404 was executed inthe hosts A and B after that and the printing was performed in thefollowing order: namely, print data “SAMPLE-B” (attributes in which anauto retreat flag is turned “ON”, a paper size is set to “B4”, astapling is set to “NO”, a printing mode is set to “single-sidedprinting”, and the like) from the host B; print data “TEST-2”(attributes in which the auto retreat flag is turned “ON”, the papersize is set to “A4”, the stapling is set to “NO”, the printing mode isset to “single-sided printing”, and the like) from the host A; and printdata “SAMPLE-C” (attributes in which the auto retreat flag is turned“ON”, the paper size is set to “A3”, the stapling is set to “YES”, theprinting mode is set to “single-sided printing”, and the like) from thehost B. Thus, the total four print data is held as execution jobs in theprinter in FIG. 5 and it is assumed that the status in the printer is asshown in FIG. 9 and the job execution management table is as shown in astate of FIG. 11A.

Subsequently, the controller 2010 of the printer analyzes the printattributes of the head print data in the job execution management datastored in the RAM 2031 in the storage 2030 of the printer in order tostart the processing of the print-waiting job (step 1601). Specificallyspeaking, the print attributes of the print data “TEST-1” are obtained.

Subsequently, the controller 2010 of the printer analyzes the status ofthe printer (step 1602). Specifically speaking, the size of paper set atpresent is checked, whether the papers of such a size exist or not isdiscriminated, and whether the other expendable supplies are absent ornot are discriminated.

Subsequently, the controller 2010 of the printer discriminates whetherthe print data “TEST-1” can be normally printed or not (an error occursor not) by collating the results in steps 1601 and 1602 (step 1603). Inthis case, since the print data “TEST-1” designates the paper size A4 ofthe papers which are set at present and the other print attributes arealso proper, the controller 2010 of the printer determines that theprint data “TEST-1” can be normally printed (no error occurs).

Subsequently, the controller 2010 of the printer executes a part of theprint processing of the print data “TEST-1” stored in the RAM 2031 inthe storage 2030 of the printer (step 1605).

Subsequently, the controller 2010 of the printer discriminates whetherthe whole print processing of the print data which is at present beingexecuted has been completed or not (step 1606). In this case, since theprint data which is not processed yet exists, the controller 2010 of theprinter determines that the whole print processing is not completed yet.

Subsequently, the controller 2010 of the printer updates the informationof the job execution management table stored in the RAM 2031 in thestorage 2030 of the printer (step 1608). Specifically speaking, theinformation indicative of an amount of processing which was executed,the status, and the like are updated. The processing routine is returnedto step 1501.

After that, the processing in steps 1501 to 1508 and the processing insteps 1601 to 1608 shown in FIG. 16 are repeated and the controller 2010of the printer determines that the whole print processing has beencompleted (step 1606).

Subsequently, the controller 2010 of the printer deletes the print datawhose processing has been finished from the RAM 2031 in the storage 2030of the printer (step 1607). The controller 2010 updates (deletes) theinformation of the job (print data “TEST-1”) of No. 1 in the jobexecution management table (A) as shown in FIG. 11A, so that the jobexecution management data changes as shown in FIG. 11B. The processingroutine is returned to step 1501.

In order to start the processing of the print-waiting job, thecontroller 2010 of the printer analyzes the print attributes of the headprint data in the job execution management table stored in the RAM 2031in the storage 2030 of the printer (step 1601). Specifically speaking,the print attributes of the print data “SAMPLE-B” is obtained.

Subsequently, the controller 2010 of the printer analyzes the status ofthe printer (step 1602). Specifically speaking, the size of paper set atpresent is checked, whether the papers of such a size exist or not isdiscriminated, and whether the other expendable supplies are absent ornot are discriminated.

Subsequently, the controller 2010 of the printer discriminates whetherthe print data “SAMPLE-B” can be normally printed or not (an erroroccurs or not) by collating the results in steps 1601 and 1602 (step1603). In this case, since the print data “SAMPLE-B” designates thepaper size B5 of the papers which are not set at present, the controller2010 of the printer determines that the print data “SAMPLE-B” cannot benormally printed (an error occurs).

Subsequently, the controller 2010 of the printer checks the print data“SAMPLE-B” stored in the RAM 2031 in the storage 2030 of the printer tosee if the auto retreat flag has been set (step 1604).

If the auto retreat flag is not set in the print data “SAMPLE-B”, anoperation similar to that in the conventional apparatus is executed. Thewhole processing is temporarily suspended, the print processing isresumed at a point when the user supplements the expendable supplies,and an output can be soon obtained. Specifically speaking, thecontroller 2010 of the printer suspends the print processing (step1615).

The controller subsequently discriminates whether the cause of the errorhas been removed or not (step 1616). When the user supplements theexpendable supplies, step 1605 follows and the print processing iscompleted.

When it is determined that the cause of the error is not removed, thecontroller 2010 of the printer discriminates whether the cancel of theprint data has been instructed or not (step 1617). When the controller2010 of the printer determined that the cancel of the print data hasbeen instructed, step 1607 follows. When the controller 2010 of theprinter determined that the cancel of the print data is not instructed,the processing routine is returned to step 1616 and the suspendingstatus is allowed to continue.

In this case, since the auto retreat flag has been set in the print data“SAMPLE-B”, an auto retreat information table as shown in FIG. 13 storedin the RAM in the storage 2030 of the printer is referred to (step1609).

Subsequently, the controller 2010 of the printer analyzes the contentsof the error which occurs at present and the auto retreat informationtable and discriminates whether the print data can be automaticallyretreated or not (step 1610). In this case, since the cause of the errorrelates to “no paper” (the papers of the relevant paper size do notexist) in the auto retreat information table, it is decided that theprint data can be retreated. If the cause of the error does not exist inthe auto retreat information table, step 1615 follows and processing isexecuted in a manner similar to the conventional technique.

Subsequently, the controller 2010 of the printer suspends the printprocessing of the print data “SAMPLE-B” (step 1611).

Subsequently, the controller 2010 of the printer stores the print data“SAMPLE-B” as a retreated job into the disk 2033 in the storage 2030 ofthe printer and the status in the printer becomes as shown in FIG. 9(step 1612).

Subsequently, the controller 2010 of the printer updates the informationin the job retreat management table stored in the RAM 2031 in thestorage 2030 of the printer (step 1613). Specifically speaking, theinformation of the print data “SAMPLE-B” is inputted and the job retreatmanagement table changes as shown in FIG. 12A.

Subsequently, the controller 2010 of the printer notifies the host ofthe fact that the print processing of the job has been suspended and theprint data has been retreated (step 1614). Specifically speaking, thecause of the suspension and the information indicating that the printdata has been retreated are sent to the controller 1010 of the host Bvia the connector 2020 of the printer and the connector 1020 of the hostB as an owner.

A flow of processing (refer to FIG. 14) of the host A in FIG. 5 will nowbe described.

The controller 1010 discriminates whether some notice has been receivedfrom the printer or not (step 1405). At this time point, it is decidedthat the notice has been received from the printer, and the controller1010 analyzes the contents of the notice and displays them to a display1040 of the host (step 1406). Specifically speaking, for example, adialog as shown in FIG. 8 is displayed. At least the reasons of theretreat and a method of cancelling the retreat are described in thedialog.

A flow of processing (refer to FIG. 16) of the printer in FIG. 5 willnow be described.

The controller 2010 of the printer updates the information in the jobexecution management table held in the RAM 2031 in the storage 2030 ofthe printer (step 1608). Specifically speaking, the information of theprint data “SAMPLE-B” whose print processing was suspended is deletedand the job execution management data changes as shown in FIG. 11C. Theprocessing routine is returned to step 1501.

In this instance, although an error occurred in the print job “SAMPLE-B”and the processing was suspended, by automatically retreating the printdata, the printer can be set into a status where the processing of thenext print data can be started. That is, even if the error occurred inthe print data “SAMPLE-B”, an influence that is exerted on the nextprint-waiting print job “TEST-2” (in other words, the processing of thisjob is made to wait) can be avoided.

Subsequently, the controller 2010 of the printer executes the processingin steps 1501 to 1507. Since the information of the print data“SAMPLE-B” has been inputted into the job retreat management data atthis time point as shown in FIG. 12A, the controller 2010 of the printerdetermines the presence of the retreated job in step 1507.

Subsequently, the controller 2010 of the printer obtains the printattributes of the print data in the job retreat management table in theRAM 2031 in the storage 2030 of the printer (step 1701) in order toconfirm whether the processing of the retreated job can be resumed ornot.

Subsequently, the controller 2010 of the printer analyzes the printerstatus (step 1702). Specifically speaking, the size of paper set atpresent is checked, whether the papers of such a size exist or not isdiscriminated, and whether the other expendable supplies are absent ornot are discriminated.

Subsequently, the controller 2016 of the printer discriminates whetherthe print data “SAMPLE-B” can be normally printed or not (whether theprint processing can be resumed or not) by collating the results insteps 1701 and 1702 (step 1703). In this case, since the papers of thepaper size B5 which are necessary to print the print data “SAMPLE-B” arenot set, the controller 2010 of the printer determines that the printdata “SAMPLE-B” cannot be normally printed (the print processing cannotbe resumed). The processing routine advances to step 1508.

Subsequently, the controller 2010 of the printer checks the jobexecution management table as shown in FIGS. 11A to 11F stored in theRAM 2031 in the storage 2030 of the printer to see if the print-waitingjob exists (step 1508). Since the information of the print data “TEST-2”and “SAMPLE-C” has been inputted at this time point, the print-waitingjob is determined to be present.

Subsequently, the controller 2010 of the printer analyzes the printattributes of the head print data in the job execution management tablestored in the RAM 2031 in the storage 2030 of the printer in order tostart the processing of the print-waiting job (step 1601). Specificallyspeaking, the print attributes of the print data “TEST-2” are obtained.Since the print attributes of the print data “TEST-2” indicate that noerror occurs, the processing in steps 1501 to 1508, the processing insteps 1601 to 1608, and the processing in 1701 to 1703 are repeated, sothat the whole print processing is completed.

The controller 2010 of the printer updates the information in the jobexecution management table stored in the RAM 2031 in the storage 2030 ofthe printer (step 1608). Specifically speaking, the information of theprint data “TEST-2” whose print processing has been completed is deletedand the job execution management table changes as shown in FIG. 11D. Theprocessing routine is returned to step 1501.

Subsequently, the controller 2010 of the printer analyzes the printattributes of the head print data in the job execution management tablestored in the RAM 2031 in the storage 2030 of the printer in order tostart the processing of the print-waiting job (step 1601). Specificallyspeaking, the print attributes of the print data “SAMPLE-C” areobtained. Since the print attributes of the print data “SAMPLE-C”indicate “stapling”, the controller 2010 of the printer determines thatthe print data cannot be normally printed (an error occurs) in step1603.

Subsequently, the controller 2010 of the printer checks the print data“SAMPLE-C” stored in the RAM 2031 in the storage 2030 of the printer inorder to discriminate whether the auto retreat flag has been set to ONor not (step 1604).

In this case, since the auto retreat flag has been set in the print data“SAMPLE-C”, the auto retreat information table stored in the RAM 2031 inthe storage 2030 of the printer is referred to (step 1609).

Subsequently, the controller 2010 of the printer analyzes the contentsof the error occurring at present and the auto retreat information tableand discriminates whether the print data can be automatically retreatedor not (step 1610). In this case, since the cause of the error relatesto “no staple” (staples which are used to staple do not exist) in theauto retreat information table, it is decided that the print data can beretreated.

Subsequently, the controller 2010 of the printer suspends the printprocessing of the print data “SAMPLE-C” (step 1611).

Subsequently, the controller 2010 of the printer stores the print data“SAMPLE-C” into the disk in the storage 2030 of the printer (step 1612).

Subsequently, the controller 2010 of the printer updates the informationin the job retreat management table stored in the RAM 2031 in thestorage 2030 of the printer (step 1613). Specifically speaking, theinformation of the print data “SAMPLE-C” is inputted and the job retreatmanagement table changes as shown in FIG. 12B.

Subsequently, the controller 2010 of the printer notifies the host ofthe fact that the print processing of the job has been suspended and theprint data has been retreated (step 1614). Specifically speaking, thecause of the suspension and the information indicating that the printdata has been retreated are sent to the controller 1010 via theconnector 2020 of the printer and the connector 1020 of the host B as anowner. The information is displayed on the display 1040 in the host B.

The controller 2010 of the printer updates the information in the jobexecution management table held in the RAM 2031 in the storage 2030 ofthe printer (step 1608). Specifically speaking, since the information ofthe print data “SAMPLE-C” whose print processing was suspended isdeleted, the contents of the information in the job execution managementtable are deleted. The processing routine is returned to step 1501.

Initially, four print-waiting print data exists in order of “TEST-1”,“SAMPLE-B”, “TEST-2”, and “SAMPLE-C”. However, at this time point, theprinting of the print data “TEST-1” and “TEST-2” in which no erroroccurs has been completed and the print data “SAMPLE-B” and “SAMPLE-C”in which there is no expendable supplies and the error occurred has beenretreated and held in the printer.

It is assumed that the user has set the papers of the B5 size into theprinter in this status. The controller 2010 of the printer executes theprocessing in steps 1501 to 1507. At this time point, since theinformation of the print data “SAMPLE-B” and “SAMPLE-C” has beeninputted in the job retreat management table as shown in FIG. 12B, thecontroller 2010 of the printer determines that the retreated job existsin step 1507.

Subsequently, the controller 2010 of the printer analyzes the printattributes in the job retreat management table stored in the RAM 2031 inthe storage 2030 of the printer in order to confirm whether theprocessing of the retreated job can be resumed or not (step 1701).Specifically speaking, the print attributes of the print data “SAMPLE-B”and “SAMPLE-C” are obtained.

Subsequently, the controller 2010 of the printer analyzes the printerstatus (step 1702). Specifically speaking, the size of paper set atpresent is checked, whether the papers of such a size exist or not isdiscriminated, and whether the other expendable supplies are absent ornot are discriminated.

Subsequently, the controller 2010 of the printer discriminates whetherthe print data “SAMPLE-B” and “SAMPLE-C” can be normally printed or not(whether the print processing can be resumed or not) by collating theresults in steps 1701 and 1702 (step 1703). In this case, since thepapers of the paper size B5 necessary for printing have been set onlyfor the print data “SAMPLE-B”, the controller 2010 of the printerdetermines that the print data can be normally printed (print processingcan be resumed).

Subsequently, the controller 2010 of the printer restores (copies) theprint data “SAMPLE-B” stored in a memory device in the storage 2030 ofthe printer into the RAM 2031 in the storage 2030 of the printer. Thecontroller 2010 of the printer deletes the print data “SAMPLE-B” storedin the memory device in the storage 2030 of the printer (step 1704).

Subsequently, the controller 2010 of the printer updates the informationin the job retreat management table stored in the RAM 2031 in thestorage 2030 of the printer (step 1705). Specifically speaking, theinformation of the print data “SAMPLE-B” is deleted, so that the jobretreat management table changes as shown in FIG. 12C.

Subsequently, the controller 2010 of the printer updates the informationin the job execution management table stored in the RAM 2031 in thestorage 2030 of the printer (step 1706). Specifically speaking, theinformation of the print data “SAMPLE-B” whose print processing wasresumed is inputted and the job execution management table changes asshown in FIG. 11E. The processing routine advances to step 1508.

After that, the controller 2010 of the printer repeats the processing insteps 1501 to 1508 and the processing in steps 1601 to 1608 and outputsthe print data “SAMPLE-B”. The controller 2010 of the printer determinesthat the whole print processing has been completed in step 1606.

It is assumed that the user has set the staples into the printer in thisstatus. The controller 2010 of the printer executes the processing insteps 1501 to 1507. At this time point, since the information of theprint data “SAMPLE-C” has been inputted into the job retreat managementtable as shown in FIG. 12C, the controller 2010 of the printer decidesthat the retreated job exist in step 1507.

Subsequently, the controller 2010 of the printer analyzes the printattributes of the print data in the job retreat management table held inthe RAM 2031 in. The storage 2030 of the printer in order to confirmwhether the processing of the retreated job can be resumed or not (step1701). Specifically speaking, the print attributes of the print data“SAMPLE-C” are obtained.

Subsequently, the controller 2010 of the printer analyzes the printerstatus (step 1702). Specifically speaking, the size of paper set atpresent is checked, whether the papers of such a size exist or not isdiscriminated, and whether the other expendable supplies are absent ornot are discriminated.

Subsequently, the controller 2010 of the printer discriminates whetherthe print data “SAMPLE-C” can be normally printed or not (whether theprint processing can be resumed or not) by collating the results insteps 1701 and 1702 (step 1703). In this case, since the staplesnecessary for printing the print data “SAMPLE-C” have been set, thecontroller 2010 of the printer determines that the print data can benormally printed (print processing can be resumed).

Subsequently, the controller 2010 of the printer restores (copies) theprint data “SAMPLE-C” stored in the memory device in the storage 2030 ofthe printer into the RAM 2031 in the storage 2030 of the printer. Thecontroller 2010 of the printer deletes the print data “SAMPLE-C” storedin the memory device in the storage 2030 of the printer (step 1704).

Subsequently, the controller 2010 of the printer updates the informationin the job retreat management table stored in the RAM 2031 in thestorage 2030 of the printer (step 1705). Specifically speaking, sincethe information of the print data “SAMPLE-C” is deleted, the contents ofthe information in the job retreat management table are fully deleted.

Subsequently, the controller 2010 of the printer updates the informationin the job execution management table stored in the RAM 2031 in thestorage 2030 of the printer (step 1706). Specifically speaking, theinformation of the print data “SAMPLE-C” whose print processing wasresumed is inputted and the job execution management table changes asshown in FIG. 11F. The processing routine advances to step 1508.

After that, the controller 2010 of the printer repeats the processing insteps 1501 to 1508 and the processing in steps 1601 to 1608 and outputsthe print data “SAMPLE-C”. The controller 2010 of the printer determinesthat the whole print processing has been completed in step 1606.

A message indicating that all of the printable jobs have already beencompleted (deleted) in the printer status at that time point can benotified to the host as an owner of the retreated job and displayedbefore the retreated job is executed.

(Embodiment 2)

As an embodiment 2, it is possible to improve a method of taking acountermeasure against the resume of the printing of the retreated printdata.

In the embodiment 1, the user actually supplements the expendablesupplies, thereby allowing the print attributes to be satisfied andallowing the print processing of the retreated print data to beautomatically resumed.

According to the embodiment 2, a utility for changing the printattributes of the print data which was retreated and held in the printerfrom the host by a remote operation is provided. By this utility, theprint attributes in which an error occurs are changed so as to beadapted to the present printer status, thereby allowing the printprocessing to be resumed. Specifically speaking, the utility having auser interface as shown in FIG. 10 is provided and processing in steps1801 to 1804 is executed.

It is now assumed that the print job “SAMPLE-C” has been retreated asshown in the job retreat management table in FIG. 12C.

The controller 1010 of the host obtains the information of the retreatedjob in the printer with reference to the job retreat management table ofthe printer (step 1801).

Subsequently, the controller 1010 of the host displays the informationof the retreated job in the printer onto the display 1040 in a form asshown in FIG. 10 on the basis of the information obtained from theprinter (step 1802).

Subsequently, the controller 1010 of the host discriminates whether theuser has instructed to change the print attributes of an arbitrary jobby an input unit 1070 of the host or not (step 1803).

For example, it is assumed that the user changed the item “stapling” inFIG. 10 from “YES” to “NO”. In this case, the controller 1010 of thehost determines that the user instructed to change the print attributesof the job, so that it sends control data for changing the printattributes to the printer (step 1804). Thus, no error occurs in theprint data “SAMPLE-C” and the print processing is restarted.

By the above operation, the print processing of the print data which wasretreated and held can be easily resumed from a remote place. Even ifthe various component elements described as examples in the foregoingembodiments are replaced with the following component elements, theywill be valid.

-   Printer . . . Plotter, copying apparatus, facsimile, etc.-   Host . . . Personal computer, workstation, minicomputer, etc.-   Controller . . . Software, ROM, RAM, etc.-   Connector . . . Serial interface board, parallel interface board,    network interface board, etc.-   Storage . . . Memory, magnetic disk device, magnetooptic disk    device, magnetic tape device, etc.-   Printer . . . Laser beam system, bubble jet system, LED system,    thermal transfer system, etc.-   Display . . . CRT, LCD, etc.-   Input unit . . . Keyboard, mouse, track ball, etc.-   Memory medium reader . . . FD device, MO device, CD-ROM device, IC    memory card device, etc.-   Recording medium . . . FD, MO, CD-ROM, IC memory card, etc.

As described above, according to the printing method and medium of theinvention, there is such an effect that when an error occurs due to thecause of absence of the expendable supplies, by automatically retreatingand holding the print data, the deterioration of the working efficiencyof the print-waiting print data (the other users) can be avoided. Thereis also such an effect that the resources of the shared memory deviceand the like of the printer are utilized and the working efficiency isimproved.

There are such effects that the print processing of the print data whichwas retreated and held can be easily resumed from a remote place and ausing efficiency is improved.

1. A printer that communicates with a host computer, comprising: acontrol unit adapted to, if first print data received from the hostcomputer cannot be output by the printer, and if it is possible tooutput second print data subsequently received after the first printdata is received from the host computer, retreating the first print dataand outputting the second print data, wherein when the first print datacannot be output and when it is possible to output the second printdata, said control unit retreats the first print data based on anindication whether or not the print data is to be retreated, theindication being included in each print instruction provided by the hostcomputer.
 2. The printer according to claim 1, further comprising: a jobexecution management unit adapted to manage at least one print data suchthat an output process is executed sequentially from the first listedprint data; and a job retreat management unit adapted to manage at leastone print job retreated by said control unit, wherein if the first printdata cannot be output by the printer and if the first print data is tobe retreated, said control unit cancels registration of the first printdata in said job execution management unit and registers the first printdata in said job retreat management unit, and when it becomes possibleto output the retreated first print data, said control unit cancelsregistration of the first print data in said job retreat management unitand registers the first print data again in said job executionmanagement unit.
 3. The printer according to claim 1, further comprisinga notification unit adapted to notify the host computer of listinformation representing the at least one print data registered in saidjob retreat management unit with a distinguishable indication that eachof the at least one print data is retreated.
 4. The printer according toclaim 3, further comprising a setting change control unit that receives,from the host computer, an instruction for changing a setting on any ofthe at least one print data represented by the list information notifiedby said notification unit, and executing the setting change on the printdata instructed by the received instruction.
 5. The printer according toclaim 4, wherein, when it becomes possible to output one of the at leastone retreated print data due to the setting change by said settingchange control unit, said control unit cancels registration of the oneprint data in said job retreat management unit and registers the oneprint data again in said job execution management unit.
 6. The printeraccording to claim 1, further comprising a reception unit adapted toreceive the indication whether the print data is to be retreated, fromthe host computer.
 7. The printer according to claim 6, wherein theindication indicates for each of a plurality of items whether the printdata is to be retreated, and wherein the host computer designates foreach of the plurality of items whether the print data is to beretreated.
 8. A print control method for printer that communicates witha host computer, said method comprising the steps of: a control step ofcontrolling, if first print data received from the host computer cannotbe output by the printer, and if it is possible to output second printdata subsequently received after the first print data is received fromthe host computer, retreating the first print data and outputting thesecond print data, wherein when the first print data cannot be outputand when it is possible to output the second print data, said controlstep retreats the first print data based on an indication whether or notthe print data is to be retreated, the indication being included in eachprint instruction provided by the host computer.
 9. The method accordingto claim 8, further comprising the steps of: a job execution managementstep of managing at least one print data such that an output process isexecuted sequentially from the first listed print data; and a jobretreat management step of managing at least one print job retreated bysaid control step, wherein if the first print data cannot be output andif the first print data is to be retreated, said control step cancelsregistration of the first print data in said job execution managementstep and registers the first print data in said job retreat managementstep, and when it becomes possible to output the retreated first printdata, said control step cancels registration of the first print data insaid job retreat management step and registers the first print dataagain in said job execution management step.
 10. The method according toclaim 8, further comprising a notification step of notifying the hostcomputer of list information representing the at least one print dataregistered in said job retreat management step with a distinguishableindication that each of the at least one print data is retreated. 11.The method according to claim 10, further comprising a setting changecontrol step of receiving, from the host computer, an instruction forchanging a setting on any of the at least one print data represented bythe list information notified by said notification step, and executingthe setting change on the print data instructed by the receivedinstruction.
 12. The method according to claim 11, wherein, when itbecomes possible to output one of the at least one retreated print datadue to the setting change by said setting change control step, saidcontrol step cancels registration of the one print data in said jobretreat management step and registers the one print data again in saidjob execution management step.
 13. The method according to claim 8,further comprising a reception step of receiving the indication whetherthe print data is to be retreated, from the host computer.
 14. Theprinter according to claim 13, wherein the indication indicates for eachof a plurality of items whether the print data is to be retreated, andwherein the host computer designates for each of the plurality of itemswhether the print data is to be retreated.